package com.zyc.zalbert.zoadbook.buildsrc

object Libs {
    const val androidGradlePlugin = "com.android.tools.build:gradle:7.0.3"
    const val jdkDesugar = "com.android.tools:desugar_jdk_libs:1.1.5"
    const val junit = "junit:junit:4.13"
    const val material = "com.google.android.material:material:1.5.0-alpha05"
    const val design = "com.android.support:design:28.0.0"
    const val guava = "com.google.guava:guava:31.0.1-android"

    object Accompanist {
        const val version = "0.21.0-beta"
        const val insets = "com.google.accompanist:accompanist-insets:$version"
    }

    object Kotlin {
        const val version = "1.5.31"
        const val stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$version"
        const val gradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$version"
        const val reflect = "org.jetbrains.kotlin:kotlin-reflect:$version"
    }

    object Coroutines {
        private const val version = "1.5.2"
        const val core = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version"
        const val android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version"
        const val test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:$version"
    }

    object AndroidX {
        const val appcompat = "androidx.appcompat:appcompat:1.4.0"
        const val coreKtx = "androidx.core:core-ktx:1.7.0"
        const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.2"
        const val recyclerview = "androidx.recyclerview:recyclerview:1.2.1"
        const val recyclerviewSelection = "androidx.recyclerview:recyclerview-selection:1.1.0"
        const val viewpager2 = "androidx.viewpager2:viewpager2:1.0.0"

        object Paging {
            private const val version = "3.0.1"
            const val runtime = "androidx.paging:paging-runtime:$version"

            // optional - Guava ListenableFuture support
            const val guava = "androidx.paging:paging-guava:$version"
            // optional - Jetpack Compose integration
            // const val "androidx.paging:paging-compose:1.0.0-alpha14"
            // const val common = "androidx.paging:paging-common:"

        }

        object Activity {
            const val version = "1.3.1"
            const val activityCompose = "androidx.activity:activity-compose:$version"
            const val activity = "androidx.activity:activity:$version"
        }

        object Compose {
            const val snapshot = ""
            const val version = "1.0.5"
            const val tooling = "androidx.compose.ui:ui-tooling:$version"
            const val material = "androidx.compose.material:material:$version"
            const val materialIconsExtended =
                "androidx.compose.material:material-icons-extended:$version"
            const val foundation = "androidx.compose.foundation:foundation:$version"
            const val layout = "androidx.compose.foundation:foundation-layout:$version"
            const val runtime = "androidx.compose.runtime:runtime:$version"
            const val runtimeLivedata = "androidx.compose.runtime:runtime-livedata:$version"
            const val test = "androidx.compose.ui:ui-test:$version"
            const val uiTest = "androidx.compose.ui:ui-test-junit4:$version"
            const val uiTestManifest = "androidx.compose.ui:ui-test-manifest:$version"
            const val uiUtil = "androidx.compose.ui:ui-util:${version}"
            const val viewBinding = "androidx.compose.ui:ui-viewbinding:$version"

            object Material3 {
                const val snapshot = ""
                const val version = "1.0.0-alpha01"

                const val material3 = "androidx.compose.material3:material3:$version"
            }
            /**
             *  implementation "androidx.compose.ui:ui:$compose_version"
            implementation 'androidx.compose.material3:material3:1.0.0-alpha01'
            implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
            implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
            implementation 'androidx.activity:activity-compose:1.3.1'
            androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
            debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
            debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
             */
        }

        object Navigation {
            private const val version = "2.3.5"
            const val fragment = "androidx.navigation:navigation-fragment-ktx:$version"
            const val uiKtx = "androidx.navigation:navigation-ui-ktx:$version"
        }

        object Test {
            private const val version = "1.4.0"
            const val core = "androidx.test:core:$version"
            const val rules = "androidx.test:rules:$version"

            object Ext {
                private const val version = "1.1.2"
                const val junit = "androidx.test.ext:junit-ktx:$version"
            }

            const val espressoCore = "androidx.test.espresso:espresso-core:3.3.0"
        }

        object Lifecycle {
            private const val version = "2.4.0"
            const val livedata = "androidx.lifecycle:lifecycle-livedata-ktx:$version"

            //            const val livedataCore = "androidx.lifecycle:lifecycle-livedata-core-ktx::$version"
            const val viewModel = "androidx.lifecycle:lifecycle-viewmodel-ktx:$version"
            const val viewModelCompose = "androidx.lifecycle:lifecycle-viewmodel-compose:$version"
            const val commonJava = "androidx.lifecycle:lifecycle-common-java8:$version"
            const val runtimeKtx = "androidx.lifecycle:lifecycle-runtime-ktx:$version"
        }

    }

    object Others {
        const val retrofit = "com.squareup.retrofit2:retrofit:2.9.0"
        const val shapeView = "io.github.albertzyc:ShapeView:1.0.1@aar"
        const val converterGson = "com.squareup.retrofit2:converter-gson:2.9.0"
        const val mmkv = "com.tencent:mmkv-static:1.2.1"
        const val smartRefreshCore = "com.scwang.smart:refresh-layout-kernel:2.0.3"
        const val smartRefreshHeader = "com.scwang.smart:refresh-header-classics:2.0.3"
        const val arouterApi = "com.alibaba:arouter-api:1.5.2"
        const val arouterCompiler = "com.alibaba:arouter-compiler:1.5.2"
        const val arouterRegister = "com.alibaba:arouter-register:1.0.2"
        const val glide = "com.github.bumptech.glide:glide:4.12.0"
        const val glideAnnotations = "com.github.bumptech.glide:annotations:4.12.0"
        const val easyPermissions = "pub.devrel:easypermissions:3.0.0"
        const val okhttp = "com.squareup.okhttp3:okhttp:5.0.0-alpha.2"
        const val okhttpLoggingInterceptor =
            "com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.2"
        const val mapLocation = "com.amap.api:location:5.5.0"
        const val mapNavi3d = "com.amap.api:navi-3dmap:8.0.0_3dmap8.0.0"
        const val mapSearch = "com.amap.api:search:7.9.0"
        const val gson = "com.google.code.gson:gson:2.8.9"
        const val adapterHelper = "com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.7"
        const val lottie = "com.airbnb.android:lottie:4.2.2"
        const val xPopup = "com.github.li-xiaojun:XPopup:2.7.4"
        const val aWebp = "com.github.penfeizhou.android.animation:awebp:2.17.1"
        const val aPng = "com.github.penfeizhou.android.animation:apng:2.17.1"
        const val aGif = "com.github.penfeizhou.android.animation:gif:2.17.1"
        const val aGlidePlugin = "com.github.penfeizhou.android.animation:glide-plugin:2.17.1"
        const val slidingTabLayout = "io.github.h07000223:flycoTabLayout:3.0.0"
        const val leakCanary = "com.squareup.leakcanary:leakcanary-android:2.8.1"
    }
}

//const val ROOM_KTX = "androidx.room:room-ktx"
//
//const val OKIO = "com.squareup.okio:okio"
//const val ROOM_COMPILER = "androidx.room:room-compiler"
//const val ROOM_RUNTIME = "androidx.room:room-runtime"
//
//const val VIEWPAGER2 = "androidx.viewpager2:viewpager2"
